package call.count;

import java.util.HashMap;
import java.util.Map;

/**
 * 功能：组件是否需要拦截的标记枚举
 *
 * @author baitao20
 * @date 2024/2/28 17:38
 **/
public enum IS_NEED_ADVICE_ENUM {

    /**
     * 需要拦截
     */
    NEED(1, "需要拦截"),

    /**
     * 不需要拦截
     */
    NOT_NEED(2, "不需要拦截");

    private final Integer value;

    private final String label;

    private static final Map<Integer, String> valueMap = new HashMap<>();

    private static final Map<Integer, IS_NEED_ADVICE_ENUM> enumMap = new HashMap<>();

    static {
        for (IS_NEED_ADVICE_ENUM item : IS_NEED_ADVICE_ENUM.values()) {
            valueMap.put(item.value, item.label);
            enumMap.put(item.value, item);
        }
    }

    IS_NEED_ADVICE_ENUM(Integer value, String label) {
        this.value = value;
        this.label = label;
    }

    public Integer intValue() {
        return this.value;
    }

    public String value() {
        return String.valueOf(this.value);
    }

    public String label() {
        return this.label;
    }

    public static String getLabelByValue(Integer value) {
        return valueMap.get(value);
    }

    public static IS_NEED_ADVICE_ENUM getEnumByValue(Integer value) {
        return enumMap.get(value);
    }
}
